// 淡入动画
@keyframes fadeIn {
    from {
        opacity: 0;
        @include transform(translateY(20px));
    }
    to {
        opacity: 1;
        @include transform(translateY(0));
    }
}

// 缩放动画
@keyframes scaleIn {
    from {
        @include transform(scale(0.95));
        opacity: 0;
    }
    to {
        @include transform(scale(1));
        opacity: 1;
    }
}

// 滑入动画
@keyframes slideIn {
    from {
        @include transform(translateX(-20px));
        opacity: 0;
    }
    to {
        @include transform(translateX(0));
        opacity: 1;
    }
}

// 脉冲动画
@keyframes pulse {
    0% { @include transform(scale(1)); }
    50% { @include transform(scale(1.05)); }
    100% { @include transform(scale(1)); }
}

// 闪烁动画
@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

// 水波纹动画
@keyframes ripple {
    0% {
        @include transform(scale(0, 0));
        opacity: 0.5;
    }
    100% {
        @include transform(scale(20, 20));
        opacity: 0;
    }
}

// 加载动画
@keyframes spin {
    0% { @include transform(rotate(0deg)); }
    100% { @include transform(rotate(360deg)); }
}

// 页面进入动画
@keyframes pageEnter {
    from {
        opacity: 0;
        @include transform(translateY(20px));
    }
    to {
        opacity: 1;
        @include transform(translateY(0));
    }
}

// 日历进入动画
@keyframes calendarEnter {
    from {
        opacity: 0;
        @include transform(scale(0.95));
    }
    to {
        opacity: 1;
        @include transform(scale(1));
    }
}

// 结果进入动画
@keyframes resultEnter {
    from {
        opacity: 0;
        @include transform(translateY(-10px));
    }
    to {
        opacity: 1;
        @include transform(translateY(0));
    }
}

// 列表进入动画
@keyframes listEnter {
    from {
        opacity: 0;
        @include transform(translateY(20px));
    }
    to {
        opacity: 1;
        @include transform(translateY(0));
    }
}

// 行进入动画
@keyframes rowEnter {
    from {
        opacity: 0;
        @include transform(translateX(-20px));
    }
    to {
        opacity: 1;
        @include transform(translateX(0));
    }
}

// 控制面板进入动画
@keyframes controlsEnter {
    from {
        opacity: 0;
        @include transform(translateX(100%));
    }
    to {
        opacity: 1;
        @include transform(translateX(0));
    }
}

// 控制面板退出动画
@keyframes controlsExit {
    from {
        opacity: 1;
        @include transform(translateX(0));
    }
    to {
        opacity: 0;
        @include transform(translateX(100%));
    }
} 